negotiator.boaframework
Class OMStrategy

java.lang.Object
  extended by negotiator.boaframework.OMStrategy

public abstract class OMStrategy
extends java.lang.Object

This is the abstract class which determines when the opponent model may be updated, and how it used to select a bid for the opponent. Tim Baarslag, Koen Hindriks, Mark Hendrikx, Alex Dirkzwager and Catholijn M. Jonker. Decoupling Negotiating Agents to Explore the Space of Negotiation Strategies

Author:
Mark Hendrikx

Constructor Summary
OMStrategy()
           
 
Method Summary
abstract  boolean canUpdateOM()
           
abstract  BidDetails getBid(java.util.List<BidDetails> bidsInRange)
          Returns a bid selected using the opponent model from the given set of similarly preferred bids.
 BidDetails getBid(OutcomeSpace space, Range range)
          Returns a bid selected using the opponent model with a utility in the given range.
 BidDetails getBid(SortedOutcomeSpace space, double targetUtility)
          Use this method in case no range is specified, but only a target utility.
 void init(NegotiationSession negotiationSession, OpponentModel model)
          Initialize method which my be used when the opponent model strategy has no parameters, or when the default values for these parameters should be used.
 void init(NegotiationSession negotiationSession, OpponentModel model, java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          Initialize method to be used by the BOA framework.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OMStrategy

public OMStrategy()
Method Detail

init

public void init(NegotiationSession negotiationSession,
                 OpponentModel model,
                 java.util.HashMap<java.lang.String,java.lang.Double> parameters)
          throws java.lang.Exception
Initialize method to be used by the BOA framework.

Parameters:
negotiationSession - state of the negotiation.
model - opponent model to which the opponent model strategy applies.
parameters - for the opponent model strategy, for example the maximum update time.
Throws:
java.lang.Exception - thrown when initializing the opponent model strategy fails.

init

public void init(NegotiationSession negotiationSession,
                 OpponentModel model)
          throws java.lang.Exception
Initialize method which my be used when the opponent model strategy has no parameters, or when the default values for these parameters should be used.

Parameters:
negotiationSession - state of the negotiation.
model - opponent model to which the opponent model strategy applies.4
Throws:
java.lang.Exception - when initializing the agent fails.

getBid

public abstract BidDetails getBid(java.util.List<BidDetails> bidsInRange)
Returns a bid selected using the opponent model from the given set of similarly preferred bids.

Parameters:
bidsInRange - set of similarly preferred bids
Returns:
bid

getBid

public BidDetails getBid(OutcomeSpace space,
                         Range range)
Returns a bid selected using the opponent model with a utility in the given range.

Parameters:
space - of all possible outcomes
range - of utility
Returns:
bid

getBid

public BidDetails getBid(SortedOutcomeSpace space,
                         double targetUtility)
Use this method in case no range is specified, but only a target utility. The method looks at the bids in the range [targetUtility, targetUtility + INITIAL_WINDOW_RANGE]. If there are less than EXPECTED_BIDS_IN_WINDOW in the window, then the upperbound is increased by RANGE_INCREMENT.

Parameters:
space - of all possible outcomes
targetUtility - minimum utility to
Returns:
bid selected by using the opponent model strategy.

canUpdateOM

public abstract boolean canUpdateOM()
Returns:
if given the negotiation state the opponent model may be updated